package com.heima.user;


import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * 用户服务主启动类
 *
 * 该类作为Spring Boot应用的入口，主要功能包括：
 * 1. 标记当前应用为Spring Boot主配置类
 * 2. 启用服务注册发现功能
 * 3. 配置MyBatis的Mapper接口扫描路径
 *
 * 注解说明：
 * - @SpringBootApplication：标识该类是Spring Boot应用的主配置类，包含以下组合注解：
 *   • @Configuration：声明为配置类
 *   • @EnableAutoConfiguration：启用自动配置
 *   • @ComponentScan：开启组件扫描
 * - @EnableDiscoveryClient：启用服务注册与发现功能，使应用能注册到注册中心
 * - @MapperScan：指定MyBatis的Mapper接口所在包路径，Spring Boot会自动扫描并注入这些接口
 */
@SpringBootApplication
@EnableDiscoveryClient
@MapperScan("com.heima.user.mapper")
public class UserApplication {

    /**
     * 应用启动入口方法
     *
     * 通过SpringApplication.run()方法启动Spring Boot应用，该方法会：
     * 1. 创建Spring应用上下文
     * 2. 加载所有配置的Bean
     * 3. 启动内嵌的Web服务器（如Tomcat）
     *
     * @param args 命令行参数数组，可用于传递Spring Boot配置参数
     *             例如：--server.port=8081 修改服务端口
     */
    public static void main(String[] args) {
        // 启动Spring Boot应用，传递主配置类和命令行参数
        SpringApplication.run(UserApplication.class, args);
    }
}

